package top.yangbuyi.service.impl;

import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import top.yangbuyi.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import top.yangbuyi.dto.UserDto;
import top.yangbuyi.vo.DataGridView;

import java.security.PrivateKey;
import java.util.List;

/**
 * ClassName: Loginfo
 * Description: 杨不易网站 :www.yangbuyi.top
 * date: 2020/8/27
 *
 * @author TeouBle
 * @author yangbuyi
 * @since JDK 1.8
 * @desc 用户登录 api接口
 **/
public interface UserService {
	  /**
	   * 根据手机号查询用户
	   *
	   * @param phone 手机号
	   * @return
	   */
	  User queryUserByPhone(String phone);

	  /**
	   * 根据用户ID查询用户
	   *
	   * @param userId 用户编号
	   * @return
	   */
	  User getOne(Long userId);

	  /**
	   * 分页查询用户
	   * @param userDto
	   * @return
	   */
	  DataGridView listUserForPage(UserDto userDto);

	  /**
	   * 添加用户
	   * @param userDto
	   * @return
	   */
	  int addUser(UserDto userDto);

	  /**
	   * 修改用户
	   * @param userDto
	   * @return
	   */
	  int updateUser(UserDto userDto);

	  /**
	   * 删除用户
	   * @param userIds
	   * @return
	   */
	  int deleteUserByIds(Long[] userIds);

	  /**
	   * 查询所有可用的用户
	   * @return
	   */
	  List<User> getAllUsers();

	  /**
	   * 重置用户密码
	   * @param userIds
	   */
	  void resetPassWord(Long[] userIds);

	/**
	 * @Description: 查询要排班的医生信息
	 * @Param: userId 用户Id
	 * @Param: deptId 部门Id
	 * @Return: AjaxResult
	 * @Author: campsis-tk
	 * @Date: 2020/9/11
	 */
	List<User> queryUsersNeedScheduling(Long userId, Long deptId);
}
